Personal electronic device with a dual core processor

ABSTRACT

A novel personal electronic device includes a processor having first (embedded) and second (non-embedded) cores including associated operating systems and functions. In one aspect, the first core performs relatively limited functions, while the second core performs relatively broader functions under control of the first core. Often the second core requires more power than the first core and is selectively operated by the first core to minimize overall power consumption. Protocols for functions to be performed by the second core may be provided directly to the second core and processed by the second core. In another aspect, a display controller is designed to interface with both cores. In another aspect, the operating systems work with one another. In another aspect, the first core employs a thermal control program. Advantages of the invention include a broad array of functions performed by relatively small personal electronics device.

RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 10/377,381, filedFeb. 28, 2003, which is a continuation-in-part of U.S. Ser. No.10/340,922 filed Jan. 13, 2003, which is a continuation-in-part of U.S.Ser. No. 10/158,266 (now U.S. Pat. No. 6,976,180) filed May 30, 2002,which is a continuation-in-part of U.S. Ser. No. 09/809,963 filed Mar.16, 2001, all incorporated herein by reference.

FIELD

The invention pertains to personal electronic devices in the generalcategory of smart handheld devices, personal computers, mobiletelephones, and the like.

BACKGROUND

With electronics becoming increasingly more sophisticated, a widevariety of devices has become available to provide users with a tool tohelp them manage their affairs and improve their ability to communicatewith others both at work and in their personal lives. Computers are wellknown and have taken on a variety of flavors, including portablecomputers, which can be carried from place to place with relativeconvenience. Mobile telephones have come into widespread use due totheir small size and ease of use and the widespread availability ofcellular services in a large portion of the industrialized world. Morerecently, small computer-like devices with limited computationalcapabilities have become popular and are often referred to as SmartHandheld Devices or Personal Digital Assistants (PDAs). Such PDAs aretypically small hand held devices including a battery, a liquid ordigital display (LCD) touchscreen, a small amount of memory (typicallyon the order of 8 to 16 megabytes of random access memory (RAM)) and asmall amount of computer processing capability. Given the small batterysize and the limited memory and computational power, such PDAs havetypically been used for contact management, scheduling appointments, andemail. The common practice of a PDA user is to routinely synchronizehis/her PDA with his/her desktop PC computer. This synchronizationrequirement is awkward and time consuming to maintain.

FIG. 1 is a block diagram depicting a typical prior art cellulartelephone, including a battery, a display, a man-machine interface (MMI)and a cellular telephone module that includes radio frequency (RF)circuitry, and a Digital Signal Processor (DSP).

A current trend is to include both PDA functions and cellular telephonefunctions in a single device. One such device is the HandSpring Visorphone system, which basically takes a HandSpring PDA device and aseparate cellular telephone device mechanically attached to the PDA.This device is shown in a block diagram in FIG. 2A in which System 100includes PDA 101 and an attached Cellular Telephone Module 102. Such adevice is somewhat cumbersome and includes two separate batteries, afirst for PDA 101 and a second for Cellular Telephone Module 102. SincePDA 101 and Cellular Telephone Module 102 are connected by one or moreexternal interfaces, the communication speeds between PDA 101 andCellular Telephone Module 102 are relatively limited. These devices areheavy, weighing approximately 10 ounces, and have a bulky form-factor,in that a user must talk into his/her PDA, while holding the PDA withthe Cellular Telephone Module attached.

Another approach is to provide a device that serves as both a PDA and acellular telephone. Such a device is shown by way of example in FIG. 2Band typically includes a Cellular Telephone Module 201 and an LCDDisplay 202, a Processor 204, and a Battery 203. This type of deviceconstitutes basically an advance on cellular telephones, includingadditional features. Such devices may include the Kyocera pdQ SmartPhone device that combines CDMA digital wireless telephone technologywith Palm PDA capabilities. The pdQ Smart Phone device is essentially atelephone that includes a pushbutton pad for making telephone calls. Inthis device, the pushbutton pad pivots out of the way to reveal a largerLCD screen for use with PDA functions. Nokia has a similar device, theNokia 9110 Communicator, which appears as a basic cellular telephoneincluding pushbutton keys and which opens up to reveal a larger LCDscreen and a mini-keypad with PDA functions.

There are significant problems with PDAs, Internet Appliances (IAs) andcellular telephones. The PDA, IA and cellular telephone metaphors aredramatically different than what users expect in the personal computer(PC) world. They have less powerful CPUs, less memory, restricted powerconsumption, smaller displays, and different and awkward input devicesin comparison to what is available in a PC. Additionally, they have alimited screen size and the lack of a mouse or touch screen. Thisrequires a different user interface (UI) metaphor, as compared with PCs.In some of these devices, there are touchscreens, but the small displaysizes make the input and display of information difficult andcumbersome.

Two significant problems with PDAs and IAs are that they lack the fullpower of a PC and, from a price vs. performance perspective, the limitedcapabilities outweigh the benefits. Many PDAs are actually slave devicesto PCs and the IAs lack the horsepower of a full-blown PC, such as aPentium class PC. For this reason IAs are close enough in functionalityto a PC that the price difference is not dramatic enough to warrantpurchasing an IA. Similarly, PDAs are significantly less powerful than aPC such that, even with the relatively large price difference, in manycases purchase of a PDA is not justified.

A significant complaint about cellular telephones, PDAs and IAs is thatthey operate independently of one another. This has required the user toretain a plurality of devices if the user intends to provide the threefunctions, and obtain the advantages of the PDAs and the IAs. Someinventors have attempted to integrate the PDA and the cellulartelephone, but these devices still lack the horsepower, display andinput power of a PC. Some integration occurs between PDAs and PCs,because, as mentioned earlier, PDAs are inherently slave devices to aPC. However, such integration offers only limited advantages.

Because there will always be a performance gap between the very bestdesktop computers, PDAs, IAs and cellular telephones, a device isrequired that combines and consolidates these technologies in ameaningful device. This is the subject of the present invention.

Trademarks used herein belong to their respective owners and are usedsimply for exemplary purposes.

SUMMARY

The invention overcomes the identified limitations and provides a novelpersonal electronic device that combines the functionality of a cellulartelephone, PDA, PC and IA.

In an exemplary embodiment, a first (embedded) processor and a second(non-embedded) processor are combined in a handheld housing. The firstprocessor performs a majority of the device's rudimentary functions andcalls upon the second processor in order to perform more complexfunctions. The device is very power efficient since the first processordraws less power than the second processor. To further enhance powerefficiency, the second processor is normally asleep and is selectivelyactivated by the first processor to perform the complex functions tosatisfy the user's operational demands. Programs and data for operatingthe second processor flow initially into the second processor. Thesecond processor processes the programs and data and introduces theprocessed information to a read-only memory in the first processor. Whenthe second processor is to perform such programs and utilize such data,the first processor introduces such program and data to the secondprocessor for processing by the second processor.

The invention provides for one consummate handheld personal electronicdevice that performs a multiplicity of functions. Users will not need tolearn a new operating system. There is no need for new, third partysoftware development. All the applications that users are accustomed torunning each day on their laptops or desktop computers can be utilized.The novel device is completely mobile, fitting into a shirt picket, apurse or the palm of one's hand. The device utilizes a single powersource (e.g. one battery) for two processors, a first one an embeddedprocessor that performs simple functions and a second one a non-embeddedprocessor that performs relatively complicated functions and utilizesincreased amounts of power. The second processor is normally inactivatedand is activated when the first processor determines that the secondprocessor should perform these functions.

In one embodiment, the processors described above are cores integratedinto a single integrated circuit processor. In such an embodiment, thestructure and functions of the embedded core and non-embedded cores aresubstantially the same as the described processors. However, since theyare commonly integrated in one processor integrated circuit, they sharesome components and reduce the overall device chip count, therebyimproving the efficiency and power conservation of the device.

In another embodiment, the embedded processor the embedded processor isconfigured to operate a keypad control program that includes a set ofapplication protocols that enable the display using a keypad softwareapplication. In another embodiment, the invention includes a displayswitching circuit that enables the display to receive and accuratelyrender information on the display from the respective processors. Inanother embodiment, the invention includes a display technology that isa novel size. In another embodiment, the invention includes a noveltechnique for controlling the temperature of the device and dissipatingunwanted heat. In yet another embodiment, the invention includes acommon application platform that establishes new protocols andinterfaces between two operating systems. In various embodiments, theinvention can also be configured as an appliance drive that communicateswith another computer, for example, a standard type personal computer.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is described with reference to the drawings, in which:

FIG. 1 is a block diagram of a typical prior art cellular telephone;

FIG. 2A is a block diagram of a prior art personal digital assistant(PDA) with a physically attached cellular telephone module;

FIG. 2B is a block diagram depicting a prior art integrated cellulartelephone and PDA;

FIG. 3A is a bock diagram of the software architecture for a keypadapplication;

FIG. 3B is a block diagram of one embodiment of a novel personalelectronic device of an invention;

FIG. 3C is a detailed block diagram of one embodiment of a novelpersonal electronic device of an invention;

FIG. 3D is a high level block diagram of one embodiment of a novelpersonal electronic device using an integrated circuit having embeddedand non-embedded cores;

FIG. 3E is a detailed block diagram of one embodiment of a novelpersonal electronic device using an integrated circuit having embeddedand non-embedded cores;

FIG. 4A depicts a detailed diagram of one embodiment of a displaycontroller of FIG. 3B;

FIG. 4B depicts an alternative embodiment of a display of FIG. 4A;

FIG. 4C depicts an alternative embodiment of a display switch shown inFIG. 4A.

FIG. 4D depicts a Complex Logic Device (ASIC) and the logical flow ofdata to make a switch between an embedded and non-embedded LCDcontroller;

FIGS. 4E-G depict screen shots of a display according to an embodimentof the invention;

FIG. 5A-H depicts one embodiment of the invention and shows the thermalcharacteristics of this embodiment;

FIG. 5I depicts one embodiment of the invention and shows the use of atemperature sensing diode to determine if the processor temperatureexceeds the threshold for the overall temperature of the device.

FIG. 6 depicts one embodiment of the invention that shows the featuresand functions of the device;

FIG. 7A is a block diagram depicting one embodiment in which the novelpersonal electronic device used in conjunction with an external batterycharger;

FIG. 7B is a block diagram depicting one embodiment in which the novelpersonal electronic device used in conjunction with external computeraccessories;

FIG. 7C is a block diagram depicting one embodiment in which thepersonal electronic device of the invention used in connection with aconventional computer through the use of an appliance interface unit;

FIG. 7D is a diagram showing the USB layers of connectivity between thepersonal electronic device and the host PC;

FIG. 8A is a diagram depicting one embodiment of the invention whichincludes a personal electronic device in conjunction with a dockingstation;

FIG. 8B is a diagram depicting one embodiment where the docking shellincorporates the use of a fan to keep the device cool while using thePentium class processor at higher processing speeds.

FIG. 9 is a block diagram which depicts one embodiment of a network andwhich includes one or more personal electronic devices;

FIG. 10 is a block diagram depicting one embodiment of a home personalnetwork which shows three network subnets such as wireless, Ethernet andphone line new alliance (PNA) and which includes one or more personalelectronic devices;

FIG. 11 is a flow chart showing how programs and data intended for useby the non-embedded processor are initially processed by thenon-embedded processor and introduced to the embedded processor forstorage in the embedded processor;

FIG. 12 is a flow chart showing how the programs and data stored in theembedded processor are transferred to the non-embedded processor for useby the non-embedded processor when the non-embedded processor isawakened and activated; and

FIG. 13 is a circuit diagram, primarily in block form, showing howstages associated with the embedded and non-embedded processors (a)initially introduce the programs and data to the non-embedded processor,(b) process the programs and data introduced to the non-embeddedprocessor, (c) introduce the processed programs and data to the embeddedprocessor for storage, and (d) thereafter transfer the processedprograms and data to the non-embedded processor when the non-embeddedprocessor is awakened and activated to perform the functions representedby the program;

FIG. 13 a is a schematic diagram showing that the embedded processorperforms relatively simple functions and that the non-embedded processorperforms functions more complicated than the relatively simplefunctions;

FIG. 13 b is a schematic diagram showing how the embedded processorchanges the frequency of operation of the non-embedded processor tomaintain the temperature of the non-embedded processor below aparticular value;

FIG. 14 is a schematic diagram showing how the embedded processorinterrupts its operation, and the operation of the non-embeddedprocessor, at particular times to maintain the temperature of theprocessors below the particular value;

FIG. 15 is a schematic drawing showing that the embedded andnon-embedded processors are disposed within a casing whose bottom ismade from aluminum to provide a heat sync for the system processors, thebottom of the casing being provided with dimples or undulations todissipate heat; and

FIG. 16 is a schematic diagram showing how first components related tothe non-embedded processor are to be activated, and second componentsrelated to the non-embedded processor are to be inactivated, when theembedded processor indicates to the non-embedded processor that aparticular function is to be performed by the non-embedded processor.

FIG. 17 is a schematic diagram showing that the non-embedded processorhas awake and sleep modes and is normally in the sleep mode and isawakened by the embedded processor, without any instruction to theembedded processor from the non-embedded processor, when the embeddedprocessor determines that the non-embedded processor has to perform oneof the more complicated functions.

DETAILED DESCRIPTION

The exemplary embodiments are described in detail to set forth the bestmode of the invention. Those skilled in the art will recognize thatmodifications may be made while remaining within the spirit and claimsof the invention below. For example, references are made to specificoperating systems but any operating system satisfying the invention'srequirements may be used. Likewise, references are made to specificintegrated circuits and materials, but other integrated circuits andmaterials satisfying the invention's requirements maybe used. Trademarksused herein belong to their respective owners and are used simply forexemplary purposes.

A. Device Architecture

In accordance with the teachings of the invention disclosed inapplication Ser. No. 09/809,963 a novel electronic device is taught thatcombines the features of a plurality of devices selected from: cellulartelephone, PDA, PC, IA, pager, cordless telephone, remote control unit(for example, for use with television, stereo, entertainment devices,and so forth) and Global Positioning System (GPS) to provide one commoneasy-to-use universal device and user interface (UI).

In one embodiment of the invention, the novel electronic device isapproximately the size of a cellular telephone and includes a largetouch screen that provides a liquid crystal display (LCD) and that spansa significant portion of the length and width of the device. Forexample, the large touch screen may cover an area which would normallybe used for both the display and the keypad on a cellular telephone. Asone novel feature of this invention, the display and UI change to lookappropriate for whatever application in use. For example, if the userdesires to use the electronic device as a cellular telephone, the deviceprovides on the LCD screen a cellular telephone image having a full sizekeypad.

1. Display

The UI is provided such that the cellular telephone image provided onthe LCD will operate when the user touches appropriate locations on thetouch screen LCD. This is interpreted by the cellular telephoneapplication as a mouse click event. The same functionality can occurthrough the use of a jog dial by scrolling over the keypad number and,when highlighted, click the jog dial, by depressing the dial. This isinterpreted by the cellular telephone as a mouse click event. The samefunctionality can occur through the use of a jog dial by depressing thedial. This is also interpreted by the cellular telephone as a mouseclick. The same functionality can occur through the use of a jog dial bydepressing the dial. This is also interpreted by the cellular telephoneas a mouse click.

By using the touch screen, the user pushes the touch screen buttons justas if the user were pushing a keypad on a standard cellular telephone.By speaking into the microphone and through the use of the voiceactivated software, the user can speak the words “dial phone number” andthen speak the telephone number. In one embodiment of this invention,the cellular telephone display and UI are selected from one of aplurality of cellular telephone display images and UIs, so that a userfamiliar with one brand or model of cellular telephone can have thatimage and UI to utilize with the device in accordance with the presentinvention. By touching an appropriate area on the LCD screen, or throughthe use of the job dial on the device, a user transforms the device intoother useful software-driven formats, such as a PDA, TV remote control,and so forth.

The programmable touch screen design provides for several capabilitiesincluding that the screen can emulate cellular telephone manufacturesmakes and models through a cellular telephone keypad softwareapplication. In this manner, the users can feel comfortable with theinterface since it may be similar to one that they already use. The usercan enable the custom keypad editor software to create customconfigurations, button size, color and so forth. The user can alsoselect from a number of available skins and even create their own skins.

The architecture of the keypad application has three main components:(a) GUI; (b) internal logic and algorithm; and (c) telephony API. FIG.3A depicts the high level architecture of the CE.net Keypad Applicationfor both the MFC button-based and Graphical button-based versions.

The GUI section has two different implementations, the MicrosoftFoundation Class (MFC) based buttons, and the Graphic-based buttons. Inthe MFC button-based version, the size of button and the shape of thebutton is constant, and is not user-definable. In the Graphicalbutton-based version, the graphics are used and there are many designpossibilities as it regards button size and shape. The skin selectionand editing is common in both the MFC and graphical versions of theKeypad application. The user can select a different type of skin as wellas select to paste the skin on the buttons themselves. The user can alsopaint the background area of the application any color of their choosingprovided in the color palette. An advanced user can customize and editthe skin texture using a standard graphics editor.

2. Wired and Wireless Communications

In one embodiment, the novel electronic device of the present inventionutilizes both wireless and PC hardware. In one such embodiment, thedevice uses three processors, for example, a phone module ARM 7 coreprocessor, the Intel Embedded StrongARM 1110 processor, and the IntelPentium III mobile processor. In one embodiment, the phone module is aClass B device, supporting both General Packet Radio Service (GPRS) andGlobal Special Mobile (GSM) to manage data, Short Messaging System(SMS), voice and fax transmissions. Dual band 900/1800 and 900/1900support will ensure international access, without the need for separatemodules. The Intel Pentium III mobile processor handles other officeautomation tasks, such as word processing and spreadsheet manipulation,as well as third-party software application, and land-line basedInternet Protocol (IP) support, all managed by the Microsoft Windows XPoperating system.

3. Power Management

One embodiment of the invention disclosed in application Ser. No.09/809,963 may be thought of, for the sake of simplicity, as a PC and acellular telephone. These two devices have very different powerrequirements and user expectations for both stand-by time and use time.In addition to the normal individual power management functions for eachof these two devices, the invention disclosed in application Ser. No.09/809,963 includes an overall system level power management strategyand architecture. This power management strategy allows the device tooperate as a cellular telephone independently from the computer incertain modes of operation.

In one embodiment of the invention disclosed in application Ser. No.09/809,963, the computer processor is either turned off completely orput into a deep sleep mode any time that the more robust PCfunctionality is not absolutely needed. For example, when operating as aPDA, the embedded processor, memory and hard disk are used to theexclusion of the PC circuitry and phone module for such functions ascontact management and scheduling, these functions having a lower powerrequirement. For browsing and email, the embedded processor, phonemodule, memory, and hard disk are utilized to the exclusion of the PCcircuitry. When operating simply as a cellular telephone, the cellulartelephone circuitry, having lower power requirements is utilized to theexclusion of the PC circuitry and hard disk. In addition, in oneembodiment of the invention disclosed in application Ser. No.09/809,963, when the battery charge level gets too low for computerusage, the power management mechanism shuts down the computer whilestill allowing enough talk time so that the cellular telephone cancontinue to operate.

FIGS. 3B-C are block diagrams of embodiments of the invention, whereFIG. 3B was previously disclosed in application Ser. No. 09/809,963. Inthis embodiment, a device 300 may include a single battery 301, whichserves to apply power to all of the modules contained within device 300.This power is applied via power distribution system 299. System 209 isof a type well known to those of ordinary skill in the art and will notbe discussed in further detail in this application. In one embodiment,battery 301 may be a lithium polymer battery, for example of 3.5 to 6.0ampere hour capacity, such as is available from Valence Corporation.

Device 300 includes a system processor 302, which in one embodiment haslower power requirements, and is capable of performing more limitedfunctions, than a standard computer processor. In one embodiment in thesystem disclosed in application Ser. No. 09/809,963, in order to achievethis lower power requirement, system processor 302 is an embeddedprocessor, having a simplified and embedded operating system containedwithin its on-chip memory. One such embedded processor suitable for useas the system processor 302 is the StrongArm 1110 Embedded Processoravailable from Intel. Processor 302 serves as a system controller forthe entire electronic device 300.

4. System Processor

System processor 302 includes a number of components as is more fullydescribed, for example, in the Intel StrongARM 1110 Technical WhitePaper, such that system processor 302 is capable of handling contactmanagement, scheduling, and email tasks, as is known in the art, forexample in the Hewlett Packard (HP) Jornada PocketPC (CE) device. Inthis exemplary embodiment, system processor 302 controls telephonemodule 390, which serves to provide cellular telephone communications byutilizing any one or more communications standards, including CDMA,TDMA, GSM and the like. Telephone module 390 includes signatureidentification module SIM 302-1, digital signal processor (DSP) 303, andRF module 306.

DSP 303 receives audio input via microphone 304 and provides audiooutput via speaker 305. The operation of telephone module 390 is wellknown in the art and will not be further discussed in detail in thisapplication. In one embodiment, SIM 302-1 is a unique identificationencrypted device available from Xircom Company, with DSP 303 being thedigital signal processor (DSP) device, and RF module 306 being the radiofrequency (RF) device. These components can be purchased, integratedinto a GSM module, for example the CreditCard GPRS available from XircomCorporation. In one embodiment, SIM 302-1 is interchangeable so that auser's phone number does not have to be changed when migrating to device300 from a standard cellular telephone.

Device 300 also includes processor 320, which performs tasks requiringgreater processor power than is available in system processor 302. Forexample, in one embodiment processor 320 can access typical computerprograms such as: Window ME and programs running under Windows ME, suchas Word, Excel, PowerPoint, and the like. In one embodiment, computerprocessor 320 is a Transmeta Crusoe processor operating at 500megahertz. In an alternative embodiment processor 320 is an Intel MobilePentium III operating at 300 to 500 megahertz.

Processor 320 is not used for simpler tasks, which are handled moreeffectively by system processor 302, particularly with respect to powerconsumption in system processor 302 and without the need of systemprocessor 320 to be awakened from sleep. Through the use of dualprocessors 302 and 320, and thus dual operating systems, the inventiondisclosed in application Ser. No. 09/809,963 overcomes the inability toreliably “wake up” from a memory based “sleep mode.” By using theembedded operating system of processor 302 and associated embeddedsoftware applications for the highly used “simple applications,”processor 320 is not frequently required to wake up. Processor 320 is“awakened” only to perform non-simplistic applications and is “awakened”by signals from the hard disk in the processor 302 rather than bysignals from a volatile memory in the processor 320.

FIG. 17 is a schematic drawing showing how the embedded processor wakesthe non-embedded processor to perform a non-simplistic function underthe control of the embedded processor and how the embedded processorcauses the non-embedded processor to sleep after the non-embeddedprocessor has performed the non-simplistic function.

Support for FIG. 13 a is provided in paragraphs 065 and 066 of thespecification. These paragraphs indicate that the processor 302 performs“simple” or non-complicated tasks or applications and processor 320performs “non-simplistic” functions more complicated than the tasks orapplications performed by the processor 302. Broken lines are shownbetween the processors 302 and 320 to show that the operation of theprocessor 320 is related to the operation of the processor 302 becausethe processor 302 controls the operation of the processor 320.

FIG. 17 is a schematic diagram showing how the processor 302 wakens theprocessor 320, without instructions or guidance to the processor 302from the processor 320, to perform the more complicated functionsindividual to the processor 320. As a first step indicated at 1702, theprocessor 302 wakens the processor 320, without instructions or guidanceto the processor 302 from the processor 320, from a sleep mode. Whenawakened, the processor 320 performs the non-simplistic function underthe control of the processor 302 without the processor 320 providing anyinstruction or guidance to the processor 302. This is indicated at 1704in FIG. 17. When the processor 320 has performed the non-simplisticfunction under the control of the processor 302, the processor 302causes the processor 320 to fall asleep unless there is anothernon-simplistic function for the processor 320 to perform.

Such tasks which are, in certain embodiments, performed by systemprocessor 302 rather than computer processor 320 include the control oftelephone module 390, the control of display 307, interfacing with touchscreen 309 jog dial module 319 and display controller 308, as well asinterfacing with memory devices 310 and 311, during operation oftelephone module 390. In certain embodiments, system processor 302 alsoperforms additional features suited to its relatively low level ofcomputational ability and low power requirements, such as interfacingwith hardware elements contained within accessories module 371. Suchoperations include, for example infrared remote control operations usingIR module 371-3, for example, for use with entertainment devices.

FIGS. 3D-E show an alternate configuration using an integrated Dual CoreProcessor circuit 410. The Dual Core Processor 410 combines thefunctionality of embedded and non-embedded processors with controllersonto one integrated circuit having embedded and non-embedded processorcores. In one embodiment there are two cores, an ARM core 422(embedded), and an x86 core 421 (non-embedded) with shared controllers431, 432, 436-441. The ARM core 422 is considered the master core andthe I/0 core. The ARM core 422 performs the majority the Dual CoreProcessor rudimentary functions, and calls on the x86 core 421 toperform more complex functions. The methods of device enablement applyas described in patent application Ser. No. 10/340,922 filed Jan. 13,2003, which is a continuation in part of Ser. No. 10/158,266 filed May30, 2002, which is a continuation in part of Ser. No. 09/809,963 filedMar. 16, 2001.

FIG. 3D is a high-level block diagram depicting an embodiment of theinvention with a dual-core processor 410. The benefits of thisembodiment include (a) no power management redundancy; (b) no controllerredundancy; (c) the processor cores share memory; (d) improved thermalmanagement; (e) improved power efficiency; (f) increased performance;(g) smaller physical footprint; (h) sharing the display; (i) sharingperipherals; and (j) sharing the hard disk. Other benefits may beapparent to those skilled in the art. One of the reasons for thesebenefits are that many of the components normally found as redundantfunctionality in FIGS. 3B and 3C of the Novel Personal Electronic Device300, now are shown as an integrated circuit 410 in FIGS. 3D and 3E.

5. Wireless Components

In one embodiment, remote control module 371-3 interfaces with systemprocessor 302 is a universal remote control device available from SonyCorporation. In such embodiments system processor 302 also performsfeatures associated with accessory module 371 -1 which, in oneembodiment, is a wireless LAN mobile 802.11 device available from 3ComCorporation and, in other embodiments, operation of Bluetooth module371-2, for example, for cordless headset, and cordless telephone andoperation with a cordless telephone base station connected to a landlineand communicating with device 300 via Bluetooth.

In one embodiment, Bluetooth module 371-2 interfacing with systemprocessor 302 is a wireless device available from Philips Corporation.Such other functions which system processor 302 performs via theaccessory module 371 include operation of GPS module 371-4, in order toprovide detailed and accurate positioning, location, and movementinformation and the like as well known to those familiar with GPSsystems. In one embodiment, GPS module 371-4 is a compact flash carddevice available from Premier Electronics. The built-in GPS can beutilized to determine the latitude and longitude of device 300. Thisinformation can be supplied to software applications such as those whichprovide driving instructions and eCommerce applications that associateconsumers and merchants via latitude and longitude for online ordering,such as the application service provider (ASP) food.com.

In one embodiment, accessory module 371 interfacing with systemprocessor 302 includes IRDA module 371-5, which is used for point topoint wireless IR communications, which in one embodiment is anintegrated transceiver device available from Novalog Corporation. In oneembodiment, accessory module 371 includes home RF module 371-6, whichserves to provide access to a pre-existing 2.4 GHz home wirelesscommunication network, and which, in one embodiment, is a 2.4 GHzwireless device available from WaveCom Corporation. In one embodimentBluetooth and PC synchronization functions between system 300 and otherPC computing devices that have utilized the Bluetooth technology astheir wireless interfaces.

In certain embodiments, system processor 302 also performs moresophisticated tasks, yet tasks which are well suited to its level ofcomputational ability, which is less than that of processor 320. Suchtasks include, for example, Window PocketPC (CE), and programs which maybe run under Windows PocketPC (CE), for example running display 307during the telephone mode, and Pocket Outlook, including email, contactmanagement, and scheduling.

6. Shared Components

In the embodiment shown in FIG. 3B, memory and storage module 385 servesas a shared resource module which may be shared by system processor 302and processor 320. The processor 320 may access memory and storagemodule 385 via memory and graphics controller 321. Memory and storagemodule 385 may include, in this exemplary embodiment, ROM 327 which mayserve to store the embedded operating system. In one embodiment,Microsoft Pocket PC (CE), SDRAM 310 may serve as the main memory fordevices 302 and 320 for use by computer programs running on theirrespective operating systems. In this embodiment, flash memory 311 maybe used as an application cache memory. In this embodiment, hard diskdrive 325 may be a 4 gigabyte micro-drive such as is available from IBMCorporation. In an alternative embodiment, hard disk drive 325 may be asemiconductor device which emulates a hard disk, such as is availablefrom Sandisk Corporation. In one embodiment, SDRAM 310 may provide 64 to256 megabytes of FLASH memory, such as is available from SamsungCorporation. In one embodiment, the available memory may be shared butspecific memory addresses are not shared. Memory address blocks are notshared or made available to both system processor 302 and computerprocessor 320 at the same time.

Utilizing hard disk drive 325 as a shared resource between systemprocessor 302 and processor 320 provides an enormous data storagecapacity available for both processors and eliminates the data storagelimitation normally encountered when using a typical prior art PDA or asimilar device utilizing an embedded processor with a limited amount ofsemiconductor memory. In one embodiment, hard disk drive 325 may beartificially partitioned for Microsoft PocketPC (CE) data storage space.In another embodiment, hard disk drive 325 may share the file systemsbetween the two operating environments by protecting certain operatingenvironment files but still allowing for the use of shared files whenappropriate.

FIGS. 3D-E depicts an alternate configuration of the Novel PersonalElectronic Device 300 using an integrated circuit a Dual Core Processor410 with two processor cores 421 and 422, and controllers 431, 432,436-441. The Dual Core Processor 410 combines the functionality ofembedded and non-embedded processors with controllers onto oneintegrated circuit 410. As it applies to sharing components, manyalternate methods utilizing the Dual Core Processor 410 can be employed.

In the alternate configuration, the display and memory controller431-432, which incidentally is a combined controller, employs a methodof dynamic memory allocation that allows for the display and memorycontroller 431-432 to manage the amount of memory is to be allocated onthe ARM and x86 video and data buffers 442-446. Video RAM, 442 and 446,is a fixed size based on display size, and the processor cores 421-422give up, or acquire video memory space, 443 and 446, from the sharedmemory space 444.

The display and memory controller 431-432 uses separate RAM buffers. Inthis manner the Dual Core Processor 410 can switch buffer space pointersand not move data when switching from the ARM processor core 422 to thex86 processor core 421, and visa-versa. This is an extremely beneficialmethod for processor core to processor core communications because eachcore can see the same memory space since it uses shared RAM buffers. Thecommunication method utilizes USB protocols to move data in bufferblocks, instead of the method employed in Ser. No. 10/340,922 filed Jan.13, 2003, which is a continuation in part of Ser. No. 10/158,266 filedMay 30, 2002, which is a continuation in part of Ser. No. 09/809,963filed Mar. 16, 2001, where data is moved buffer block to serial, andserial to buffer block between two different processor chips.

Although the I-Cache and D-Cache 425-428 for each core are separate,shared data 444 is passed thru the memory controller 431 and 432 andinto a dynamically allocated shared memory space using the methoddescribed above. This allows each processor core, 421 and 422, to sharecommon data elements and reduces memory redundancy, and increasesoverall performance on the Dual Core Processor 410.

All RAM 310 is external to the Dual Core Processor, except for internalcaches as shown in FIG. 3E. However, it is anticipated that RAM can beinternal or both external and internal.

Sharing the Hard Disk 325 becomes a simple task by employing the dynamicmemory allocation technique in a shared memory space 444 as mentionedearlier. Changing the data buffer pointers between cores 421 and 422,allows both cores to share common data elements.

Since both cores share the USB controller 436, the sharing ofperipherals become a routing task for the processor cores, by employingthe use of shared memory space 444. This enables both cores to accessthe USB controller 436, which is the primary protocol for peripheralsharing.

7. Graphics and Display

Operating with processor 320 are memory and graphics controller 321,such as Intel 82815 graphics memory controller hub (GMCH) device, andcontroller and I/O module 322, for example an Intel 82801 integratedcontroller hub (ICH) device. This device provides IDE and PCI controllertypes of functions, as well as a USB output port suitable for use suchas connecting to the 601 module as a docking strip or connecting tomodule 700 as an appliance unit to an existing PC. The memory andgraphics controller 321 and/or ASIC 308 is an exemplary shared displaycircuit coupled to the embedded core and the non-embedded core andconfigured to normalize the display output. The function of the displaynormalizer in this case is to convert potentially different displayinputs to a common output for display. In an alternative embodiment,controller and I/0 module 322 is an Intel 82801 ICH device operating inconjunction with an Intel WA3627 device, which provides additionalperipheral device attachments such as floppy drives, additional harddisks, CD-ROMS, DVD's, external mouse, keyboards and external monitorintegrated in a combination as to form as to comprise module 800 as thedocking station functionality. Controller and 1/0 module 322 serve tointerface processor 320 with various I/O devices such as hard disk drive325. Other I/0 modules include modem 324, and other external I/O devicescontrolled by external I/O controller 323. Such other external I/Odevices include, for example, keyboard, CD ROM drive, floppy diskdrives, mouse, network connection, and so forth.

In one embodiment of the invention disclosed in application Ser. No.09/809,963, system processor 302 serves as the overall power manager ofdevice 300. Thus, system processor 302 determines when processor 320will be on and when it will be in its sleep mode. In one embodiment,system processor 302 determines the operating speed of processor 320,for example, based on the tasks being performed by processor 320, thecharge on battery 301, and user preferences.

8. Power Management

As part of its power management tasks, system processor 302 determineswhich components related to processor 320 will be turned on whenprocessor 320 is in operation. Thus, processor 320 can be operatingwhile one or more of external I/O controller 323, modem 324, and harddisk drive 325 are disabled because those devices are not necessary forthe tasks at hand, thus saving power and extending the useful life ofBattery 301. As part of the power management operation, system processor302 also determines when display 307 is illuminated, when telephonemodule 390 is powered up, and the like.

In one embodiment of the invention disclosed and claimed in thisapplication Ser. No. 10/377,381, System Processor 302 serves as theoverall power manager of Device 300. Thus, System Processor 302determines, independently of the operation of the System Processor 320,when Processor 320 will be on, and when it will be in sleep mode. Inother words, the System Operator 302 operates, without guidance orinstruction from the System Processor 320, to awaken the SystemProcessor 320 from the sleep mode and to control the operation of thesystem processor 320 when the system processor 320 is awakened. In oneembodiment, System Processor 302 determines the operating speed ofProcessor 320, for example, based on the tasks being performed byProcessor 320, the charge on Battery 301, and user preferences. SystemProcessor 302, as part of its power management tasks, determines whichcomponents related to Processor 320 will be turned on when Processor 320is in operation. Thus, Processor 320 can be operating while one or moreof External I/O Controller 323, Modem 324, and Hard Drive 325, aredisabled, when those devices are not necessary for the tasks at hand,thus saving power and extending the useful life of Battery 301.

Many of the power management decisions are driven by the user's desireto perform a specific function. For example, in one embodiment, toaccess Microsoft Outlook the following events occur to minimize powerrequirements, system processor 302 powers up only processor 320 andmemory and graphics controller 321. In this manner, FLASH memory 311 andSDRAM 310 are accessed via memory and graphics controller 321. Memoryand graphics controller 321 manages the graphics display of Outlook, andthe Outlook executable and data file are read from FLASH memory 311and/or SDRAM memory 310. If the user alters the Outlook data file inFLASH memory 311 and/or SDRAM memory 310, such as by adding a newcontact, then system processor 302 in conjunction with memory andgraphics controller 321 writes the updated information back to FLASHmemory 311 and/or SDRAM memory 310. When the user exits Outlook, systemprocessor 302 writes all necessary data back to FLASH memory 311including any data elements residing in SDRAM memory 310.

Paragraphs 087, 089, 090, 0101 and 0102 describe how the processor 320includes a plurality of components which operate in differentcombinations to perform particular ones of functions individual to theprocessor. These paragraphs additionally indicate that the processor 302is operative at any time to activate only the components which combineto perform the particular one of the functions individual to theprocessor 320. Particular reference is made to the discussion inparagraphs 089 and 090 of the specification.

The operation discussed in the previous paragraph is shown schematicallyin FIG. 16. FIG. 16 includes a block 1602 which specifies that aparticular function is indicated by the processor 302 to be performed bythe non-embedded processor 320. The block 1602 is shown in FIG. 16 asbeing connected to a block 1604. The block 1604 indicates the componentsrelated to the non-embedded processor 320 to be activated and thecomponents related to the non-embedded processor 320 to be inactivatedwhen the non-embedded processor is activated, under the control o theprocessor 302, to perform the particular function. The block 1604 isconnected to a block 1606 which indicates that the processor 320operates to perform the particular function.

The following chain of events will then occur:

-   -   a. System processor 302 attempts to wake up processor 320.    -   b. If processor 320 cannot be awakened due to undesirable        conditions determined by system processor 302 and PC elements        320, 321, 322, 323, and 325 (which are now powered up).    -   b.1. A re-boot of processor 320 is initiated.    -   b.2. The PC module reboots Window 320 ME in the background. Once        the reboot has been completed, then the updated Outlook data        residing in FLASH memory 311 is written to hard disk version of        the data file in Outlook.    -   b.3. Once the reboot has been completed, then system processor        302 returns processor 320 to sleep mode.    -   c. On the contrary, if the PC module can be awakened, the        updated Outlook data residing in FLASH memory 311 is written        back to the Outlook data file residing on hard disk drive 325.    -   d. System processor 302 returns processor 320 to sleep mode.

As another feature of power management, system processor 302 manages theduty cycle of display 307. For example, user input to the touch screenresults in display 307 power up. The user then taps the cell phone iconon the main menu and the keypad application is invoked by loading fromFLASH memory 311. The user taps in a phone number to call and taps the“Send” button. The application dials the phone number stating “DialingNumber . . . ” and connects the call displaying “Call Connected.” Theapplication messages to system processor 302 that the call has beencompleted and transaction complete. System processor 302 waits for aperiod of time, for example 3 seconds, then powers down display 307 toconserve power. System processor 302 then is in its “standby” mode,idling and waiting for user input or an incoming call to “wake up.”

9. Simultaneous Operation of The Processors

As described above, the non-embedded processor is configured to performa set of functions and the embedded processor is configured to perform alimited set of functions compared to the non-embedded processor. In oneaspect of the invention, the embedded processor and non-embeddedprocessor are configured to selectively operate simultaneously. This isadvantageous because each process may perform different functions forthe user, and the user can access both functions simultaneously.Simultaneous operation is typically triggered by the user providing aninstruction to operate the embedded processor and non-embedded processorfunctions.

In some cases, the embedded processor functions include functions notsupported by the non-embedded processor, and the non-embedded processorfunctions include functions non supported by the embedded processor andthe embedded processor and the non-embedded processor are configured tooperate simultaneously when exclusive functions of both the embeddedprocessor and non-embedded processor are to be performed.

B. Display Design and Controller

1. LCD Design

System processor 302 also serves to control display 307, which may haveany suitable display technology, for example LCD. In one embodiment,display 307 is a LCD Thin Film Transfer (TFT) Reflective Touch screenReflective, front-lit display, such as manufactured by Sony Corporationand used in the iPAQ 3650 PDA device. In one embodiment, display 307 hasa resolution of 150 dpi with 65,836 colors available, and is a half SVGA800×300 dpi. In one embodiment, an aspect ratio 800×600 is provided butonly a fraction of the height (for example only the upper half or lowerhalf) of the actual image is displayed, with jog dial or touch screencontrol used to scroll to the upper or lower half of the screen not inview. Display 307 is controlled by display controller 308, which servesto receive display information from system processor 302, and fromprocessor 320, via memory and graphics controller 321.

System processor 302 instructs display controller 308 as to whichdisplay signal source is to be used, i.e., that from System Processor302 or that from memory and graphics controller 321. System processor302 also controls touch screen 309 and jog dial module 319. Touch screen309 serves as a user input device overlaying display 307, and is, forexample, an integral part of the device from Sony Corporation. Jog dialmodule 319 receives user input applied to the touch screen and convertsthese analog signals to digital signals for use by system processor 302.

2. Display Switching

Device 300 runs with two display controllers driven by two differentprocessor technologies. One display controller is called an “LCDController” and is an embedded controller within the StrongARMprocessor. The other is a Pentium III processor and is driven by itsancillary 82815 Graphics Memory and Controller Hub (GMCH) chip. Thefundamental problem is that the LCD accepts 18 bits of display data, butthe LCD Controller on the StrongARM outputs 16 bits of display data, andthe Pentium III 82815 GMCH outputs 24 bits of display data. The purposeof the ASIC is to translate the differences between the two displaycontrollers and represent the display data in 18 bits to the LCDregardless of which controller is used. This is a process callednormalizing the display count.

FIG. 4A is a block diagram depicting in more detail display controller308. Shown for convenience in FIG. 4A is also system processor 302,memory and graphics controller 321, and display 307. In one embodiment,display controller 308 includes memory, which includes two portions,Windows DISPLAY ram 308-1 and user interface display RAM 308-2. Memory308-1 and 308-2 is, in one embodiment, a dual ported RAM allowingcommunication with both system processor 302 and memory and graphicscontroller 321. In an alternative embodiment, memory 308 is not dualported, but rather is divided into two portions of high speedsynchronous RAM, with system processor 302 and processor 320 beingallocated their own separate portions of RAM 308.

Windows display memory 308-1 receives from both system processor 302 andprocessor 320, as appropriate, the frame data, which forms part of thedefinition of the image to be displayed on LCD 307. User interfacedisplay RAM 308-2 receives from system processor 302 and processor 320,as appropriate, pixel data for use with the frame data stored in theWindows display RAM 308-1, which will complete the information needed toprovide the desired display on display 307. Display controller 308-3serves to retrieve data from Windows display data RAM 308-1 and userinterface display RAM 308-2 to provide the desired display on display307. Display controller 308-3 communicates with system processor 302 viacontrol bus 375 and also communicates with memory and graphicscontroller via control bus 376.

FIG. 4B is an alternative embodiment in which system processor 302 andmemory controller 321 communicate with display 307 by utilizing separatedisplay controllers contained within system processor 302 and memorycontroller 321, respectively. In this embodiment, display controller 401is provided, which includes a selection circuit operating under thecontrol of system processor 302 for selecting video display signalsreceived from the display controller contained in system processor 302or, alternatively, signals from the display controller contained incontrollers and I/O module 322, under the control of memory and graphicscontroller 321. For example, when system processor 302 is an embeddedStrongARM 110 processor device available from Intel, it contains its owndisplay controller with USB input/output (I/O).

Similarly, graphics and memory display controller 321, which in oneembodiment is an 82801 GMCH device available from Intel, communicateswith I/0 module 322, which in one embodiment is an 82801 ICH deviceavailable from Intel having its own USB output as well. In thisembodiment, universal serial bus (USB) connections providecommunications between system processor 302 and display 307, and betweencontrollers and I/O module 322 and display 307. In this embodiment, theprocessing of display data occurs within controllers residing in devices302 and 321. In this embodiment, display controller 401 acts as aswitching device, not a processing device, between the two controllersdescribed above.

Example A: In one example, shown in FIG. 4D, the default display is atouchscreen 800×300 TFT LCD 307, and is driven by the StrongARMprocessor 302 LCD controller 381. The StrongARM processor 302 andembedded operating system CE.net is used for running the LCD touchscreendriver, as well as the main menu, web browsing, e-mail and the cellphone keypad applications.

When the user determines that he or she desires to run the XP operatingsystem, FIG. 4E, the user presses the “Go to Desktop” button on the mainmenu, FIG. 4F, displayed on LCD, FIG. 4D, 307 and FIG. 3C, 307. The XPoperating system, FIG. 4E, resides on the hard disk, FIG. 3C, 325,utilizing the Pentium III processor, FIG. 3C, 320, the Graphics andMemory Controller, FIG. 4D 321 and FIG. 3C, 321, and the 82801Integrated Controller Hub, FIG. 3C,

The LCD, FIG. 4D, 307 and FIG. 3C, 307, are driven by the Graphics andMemory Controller FIG. 4D, 381 and FIG. 3C, 381. The main menuapplication, FIG. 4F, which uses the CE.net operating system, FIG. 4G,and the StrongARM Processor, FIG. 4D, 302 and FIG. 3C, 302, sends therequest for a display mode change to the LCD Controller, FIG. 4D, 381and FIG. 3C, 381, and then thru to the ASIC, FIG. 4D, 308 and FIG. 3C,308. The ASIC, FIG. 4D, 308 and FIG. 3C, 308, receives the switch inputsignal and routes the signal to Function Blocks, FIG. 4D, 215-219. Theswitch signal is passed to the I/0 Switch Signal, FIG. 4D, 220, whichpasses the request to Function Block, FIG. 4D, 219. Function Block, FIG.4D, 219 determines the appropriate synchronization so that the “switch”will occur with the proper vertical timing signal to the Graphics MemoryController, FIG. 4D, 321 and FIG. 3C, 321. The Graphics and MemoryController, FIG. 4D, 321 and FIG. 3C, 321, receives the “switch request”from the ASIC, FIG. 3C, 308 and FIG. 4D, 308, moving from the FunctionBlock, FIG. 4D, 219, thru the Switch Matrix, FIG. 15, 214, and I/OBlocks, FIG. 4D, 213, and is input to the Graphics and MemoryController, FIG. 4D, 321 and FIG. 3C, 321. The Graphics MemoryController, FIG. 321, and FIG. 4D, 321, then sends the output displaydata in a 24 bit format, and is passed thru the ASIC I/O, FIG. 4D, 213,and the Switch Matrix, FIG. 4D, 214, to one of the Function Blocks, FIG.4D, 215-219, to make the data translation from 24 bit wide data to 18bit wide data. Once the translation has been processed, the 18 bit widedata, in the correct format is passed back to the Switch Matrix, FIG.4D, 214, and the I/O Block (FIG. 4D, 213, to the LCD, FIG. 4D, 307 andFIG. 4D, 307. At this point, the user is now seeing a representation ofa PC desktop, FIG. 4D, on the LCD, FIG. 3C, 307 and FIG. 4D, 307.

FIG. 4D REFERENCE NUMBER GLOSSARY

210: Application Specific Integrated Circuit (ASIC).

211: JTAG Controller used to receive programming input fro JTAG port221.

212: In-System Programming Controller used to route the Macrocellprogramming code to the correct Function Block.

213: Input/Output blocks that connect the ASIC to the appropriate I/Oleads on the chip 212 or 214 or LCD 307.

214: The Switch Matrix determines which I/O lead sends and receives datafrom or to which Function Block.

215-219: Function Blocks that hold programming instructions.

226: I/O Switch Signal Block used for switching signals and passing theswitch signal request to Function Block 16 219, which thru a decisiontree determines which Function Block (215 thru 219) has the code toprocess the request. Note: The switching is synchronized in that the“switch” will occur only when the selected input has a vertical timingsignal. This reduces the tearing of the LCD during the switch by“switching” display modes only when the LCD is to start at the top ofthe screen.

221: JTAG port has I/O leads to the JTAG Controller 211 for programmingpurposes.

302: StrongARM Embedded Processor.

381: StrongARM LCD Controller. The StrongARM LCD Controller output is 16bits wide plus 3 timing, and it is input only to the ASIC.

321: Graphics and Memory Controller for the Pentium PIII Processor. ThePentium III GMCH output is 24 bits wide plus 3 timing, and it is inputonly to the ASIC.

307: LCD, 18 bit, Transflective, 800×300 Half-SVGA, 65,000 Color, LiquidCrystal Diode Display. The ASIC output is 18 bits wide plus 3 timing,and it is output only to the LCD.

FIG. 3C Description of Block Diagrams

302: Intel StrongARM Processor

375: General Purpose Input/Output (GPIO).

376: Universal Serial Bus (USB) Channel 0.

377: Universal Asynchronous Receive and Transmit (UART) Channel 1.

378: Infrared Serial Port Channel 2.

379: Universal Asynchronous Receive and Transmit (UART) Channel 3.

302: StrongARM LCD Controller

382: StrongARM Memory Controller

373: StrongARM Audio CODEC.

311: Static Random Access Memory (RAM).

327: Read Only Memory (ROM).

310: Synchronous Dynamic Random Access Memory (SDRAM).

308: Application Specific Integrated Circuit (ASIC) Complex ProgrammableLogic Device (CPLD).

375: General Purpose Input/Output (GPIO).

307: Liquid Crystal Diode (LCD) Display.

321: Graphics and Memory Controller Hub (GMCH).

322: Integrated Controller Hub (ICH).

372: Basic Input Output System (BIOS).

389: External Display

386: AC 97 Audio

387: Universal Serial Bus (USB) Controller.

388: Integrated Drive Electronics (IDE) Hard Disk Controller.

325: Hard Disk.

323: External Input/Output (110) Devices.

383: Compressor/Decompressor (CODEC) for the Integrated Controller Hub(ICH) (322)

384: Speaker.

385: Microphone.

373: Audio Compressor/Decompressor (CODEC) for StrongARM (302) ProcessorCODEC Channel 4 (380).

396: Speaker.

395: Microphone.

398: Bluetooth Personal Area Network (PAN).

306: Antenna.

390: Voice and Data Module General Packet Radio Service (GPRS) and GSM.

311: Static Random Access Memory (RAM).

In an alternate configuration of the Novel Personal Electronic Device300, an integrated circuit 410 utilizing two processor cores 421 and 422and controllers, 431, 432, 436-441 could be used, as shown in FIGS. 3Dand 3E. The purpose of the Dual Core Processor 410 is to combine thefunctionality of embedded and non-embedded processors with controllersas shown in FIG. 3C onto one integrated circuit as shown in FIGS. 3D and3E. As it applies to display switching an alternate method utilizing theDual Core Processor 410 could be employed.

In the alternate configuration of the Dual Core Processor, the displayand memory controller, which incidentally is a combined controller,employs a method of dynamic memory allocation, shown in FIG. 3E, allowsfor the display and memory controller 431 and 432 to manage how muchmemory is to be allocated on the ARM and x86 video and data buffers. Thelogic employed utilizing the ASIC CPLD 308 mentioned earlier, andreferenced in FIGS. 3C and 4D, would become part the integrated circuitfor the display and memory controller 431 and 432 of the Dual CoreProcessor 410, and is managed by the ARM core, which allows for aseamless display switch between processor cores.

C. Operating Systems

As a feature of certain embodiments of the invention disclosed inapplication Ser. No. 09/809,963, device 300 operates by using twoprocessors, each utilizing its own operating system. This allows device300 to take advantage of the “best of breed” from both embedded andnon-embedded operating environments. For example, the embedded operatingsystem of system processor 302 is self-contained, and the softwareapplications that run within the embedded operating environment areconsidered “closed.” Specifically, in a “closed” environment, thesoftware used is specified by the developer of the embedded system andmay not be upgraded or modified by the user of the embedded operatingsystem. In addition, no new software may be introduced to the embeddedsystem by the user; the Microsoft PocketPC operating system andMicrosoft Outlook for the PocketPC are respectively examples of a“closed” embedded operating system and a “closed” embedded softwareapplication residing in a “closed” environment.

The ability to debug and test an embedded system without the concern ofa user introducing to the system new software or modifications, orpatches (which could introduce bugs or viruses to the embedded system)make the ability to create a stable operating environment much easier byorders of magnitude, compared to an “open” software environment.Therefore, by definition, an embedded operating environment isinherently more reliable and stable than a non-embedded operatingenvironment for the reasons described above.

Device 300 has been designed to take full advantage of the “closed”embedded environment by using an embedded operating system and embeddedsoftware applications that are considered to be “simple” and “high-use”applications, as it regards duty-cycle usage. More importantly, device300 has been designed to take full advantage of the “closed” embeddedenvironment for such functions as cellular telephone calls, schedulingappointments, sending and receiving email, and web browsing. In additionto the reliability benefits, which are tremendous, the embeddedenvironment has dramatically lower power consumption, when compared toprocessor 320 and its related components, if used to perform the sametasks.

Conversely in an “open” software operating environment, such as in thecase with the PC module (processor 320 and its related devices 321, 322,and 325), the user is free to add, modify and delete softwareapplications and data files at will. Device 300 has also provided to theuser an “open” operating environment, with an industry standardoperating system, allowing for the use of industry standard software.The user of device 300 is free to load and manipulate software and datafiles that reside in the “open” operating environment of the PC modulewithout fear of corrupting the core functionality of the entire device.The “open” environment provides a tremendous amount of PC useflexibility. However, unfortunately, since there is no guarantee ofcompatibility between the new software being introduced or modified inthe “open” environment, or no guarantee of compatibility between the newsoftware and the previously provided software, it increases thepossibility of system failures. This is one reason why, in addition togreater power consumption, the PC module 320 is not used as the systemprocessor/controller exclusively in device 300.

1. Voice Command

In one embodiment, voice command and control are provided in one or boththe embedded operating environment of system processor 302 andnon-embedded operating environment of processor 320. When used in bothoperating system environments, a seamless voice command and control userexperience is achieved, regardless of the operating mode of device 300.In one embodiment, voice recognition is provided as well, for example byway of voice recognition software run by processor 320.

2. Power and Thermal Management

Power management is significant in that device 300 includes a number ofelements which need not always be powered. By selectively powering downcertain elements, the useful life of battery 301 is extendedconsiderably. Table 1 shows, by way of example, a variety of functionsand the associated power management scheme for various modules. Forexample, in one embodiment while mobile and using power available viabattery 301, the Microsoft PocketPC (CE) operating system is used inconjunction with system processor 302, memory 310, ROM 327 (containingfor example BIOS), and hard disk drive 325 for the major computingtasks. Computing tasks for use in this mode typically include email,contact management, calendar functions, and wireless browsing. In thisoperating environment, power is managed by putting the other modulesinto a sleep mode or turning them completely off.

FIGS. 3D-E depict an alternate configuration of the Novel PersonalElectronic Device 300 using an integrated circuit a Dual Core Processor410 with two processor cores 421 and 422, and controllers 431, 432,436-441. The Dual Core Processor 410 combines the functionality ofembedded and non-embedded processors 421 and 422 with controllers 431,432, 436-441 into one integrated circuit 410. As it applies to powermanagement 411, in addition to the methods described above, anadditional method of power management 411 can be employed utilizing theDual Core Processor 410. For example, one power block can be usedinstead of two power blocks. The Dual Core Processor 410 uses one powercontrol for both cores 421 and 422, and controllers 431, 432, 436-441,which is derived from a single power block 411. This method simplifiesthe architecture and creates a dynamic control of voltage to bothprocessor cores and controllers based on usage. This enables the DualCore Processor 410 to transition any functional area not in use into astatic minimum use power mode, or completely turn off the clockassociated with a processor core 412 and 422 or any controller 431, 432,436-441.

Two types of power management are utilized to control the speed of theprocessor cores. Thermal modulation is used, based on a temperaturesensing diode that monitors the temperature of the Dual Core Processor410. Based on thermal conditions, the processor core speeds arethrottled up, or down as required to maintain optimal chip temperature.In addition, a processor core speed control tool is utilized. In oneaspect of the invention, the values are set by the hardware developer inthe BIOS. This tool allows the hardware developer to set speed controlsfor each processor core based on the device requirements in which theDual Core Processor 410 would be used. In another aspect of theinvention, the values may be modified by a reseller or the user.

Paragraphs 0174 and 0175 support the showing in FIG. 13 of the drawings.Block 1302 in FIG. 13 a indicates that a temperature sensing diode 1302monitors the temperature of the DualCor Processor 410 in FIGS. 3D and3E. (See lines 1-2 on page 25 of the specification.) Block 1304 in FIG.13 indicates that the temperature sensing diode monitors the temperatureof the DualCor Processor 410. Based upon the diode temperature, theProcessor 410 speeds and slows down in operation to maintain an optimaltemperature of the DualCor Processor 410. This is disclosed in lines 1-3on page 25 of the specification.

Synchronization of the data files between the embedded MicrosoftPocketPC (CE) and the Windows XP PC modules is accomplished by turningthe PC module “on” and using customized synchronization software toupdate the Windows XP PC module data files. There are certain userfunctions that are shared between the two operating environments ofMicrosoft PocketPC (CE) and Microsoft Windows XP. These functionsinclude, but are not limited to, for example, the Outlook data file,which includes contact management, email and calendar data, and favoritesite data, stored in Microsoft Internet Explorer (IE).

The device 300 is a dual processing device that utilizes an Embeddedprocessor and a Pentium Class processor, LCD, Memory, Voice and Datamodule, Hard Disk and Battery, all contained in a small form-factor of6.25″ X 2.5″ X. 91″. These components draw approximately 5.75 watts ofpower, and could generate internal temperatures up to 1000 degreesFahrenheit. These components create hot spots on the device, and withoutproper thermal management, which would cause electrical and mechanicalfailure of the device 300. The hot spots are typically located in closeproximity to the devices, but can also occur elsewhere.

There are many variables that affect the temperatures of device 300.Thru thermal modeling, shown in FIGS. 5A thru H, it was determined thatthe best method of managing the heat generated in device 300 was to makethe bottom-casing an aluminum case. The case is the heat sink for device300. Aluminum was chosen for its thermal characteristics, as well as itis a light-weight metal.

Thermal modeling showed that by adding features, e.g. dimples orundulations, to the bottom casing, the case's ability to dissipate heatwas increased by approximately 25%. This created a dramatic increase inthermal management capability, improving component life expectancy, aswell as eliminating problems associated with traditional methods of heatremoval. An example of a traditional method would be to include a small400 fpm fan, as shown in FIG. 8B, 850, that would cool the deviceinternally. This method would keep the device cool, but draw asignificant amount of power, and increase the form-factor X, Y, and Zdimensions. In addition, since device 300 is also used as a Cell Phone,there was the potential problem of the fan creating noise that wouldinterfere with the user's ability to communicate with a caller.

FIG. 15 shows an aluminum bottom casing 1502 for the device 300. Thebottom of the casing 1502 is provided with dimples or undulations 1504.The aluminum casing 1502 and the dimples or undulations 1504 provide forthe removal of heat from the device 300.

A temperature sensing diode, as shown in FIG. 51, 501, may also be usedto control the internal heat of device 300. Under unforeseeableconditions the Pentium Class processor 320, could exceed its normalpower consumption due to heavy processing required by a softwareapplication. This may cause the internal temperature to exceed 140degrees Fahrenheit. Under these conditions, the casing may not be ableto dissipate the heat quickly enough to keep the internal temperaturebelow 140 degrees. The circuitry used with the temperature sensing diodedetermines the threshold limit and turns OFF/ON the Pentium Class CPUclock periodically, reducing the Megahertz speed of the processor untilthe internal temperature drops below the threshold limit of 140 degreesFahrenheit. In this manner, the CPU continues to process information,but the speed is reduced until the internal temperature falls back toacceptable limits.

Paragraph 0111, and particularly the sentences in lines 5-11 on page 26of the specification, support the schematic showing in FIG. 14. FIG. 14shows the temperature sensing diode 302 (also shown in FIG. 13)connected to an on-off clock 1404. The application of the on-off clock1404 to the processors 302 and 320 (or to the processors 422 and 421) isshown at 1406 in FIG. 14. In the off periods of the clock 1404, theprocessors 302 and 320 are not operative, thereby reducing the operativespeed of the processors 302 and 320.

Two studies focused on a 4.216 Watt and 7.886 Watt power dissipation.When the prototype of device 300 was built, the actual temperature wasmeasured and at 6.5 Watts, device 300 measured a maximum back-sideexternal temperature of 104 degrees Fahrenheit and a front-side externaltemperature of 86 degrees Fahrenheit. This implies that based on thethermal analysis, and the actual prototype temperature, at 5.75 Wattsthe external back-side temperature will be 100.4 degrees and thefront-side temperature will remain at 86 degrees. The results of thethermal analysis are shown in FIGS. 5A thru H.

3. Applications

The applications that are used to perform the functions described aboveare redundant in that they exist within each operating environment.These applications, although identical in functionality, are, from asoftware architecture perspective, dramatically different in nature andhave been programmed to maximize their use in each environment.Specifically, the embedded version of Outlook, in the Microsoft PocketPC(CE) operating environment, for example, has been optimized with thesmallest footprint in memory in order to operate the application in anenvironment having a less powerful processor and limited memory. Such isnot the case with the Microsoft Windows XP Outlook version, where acomplete Windows object library is used to construct the Outlookapplication. If redundant or unused object functionality is loaded andprocessed into memory, the inefficiencies are ignored because since thePC processor is so fast, there is no cost benefit to optimization. Inaccordance with the invention disclosed in application Ser. No.09/809,963, in order to ensure the best user experience and maintain thehighest level of functionality, such application data is seamlessly andsilently updated and synchronized between the two operating systems andapplications.

D. Connection and Communications

1. Standalone

FIG. 6 is a diagram depicting one embodiment of the present invention,including jog dial 319, RJ11 Jack 502 for connection to, for example, atelephone line or network interface, and USB connection 323. Inaddition, microphone 304 and speaker 305, infrared for remote controland data synchronization 504, display 307, antenna 510, an power on/offare shown.

FIGS. 7A-B are diagrams depicting the device 300 used in conjunctionwith other systems and accessories. FIG. 7A is a block diagram depictingone embodiment in which the novel personal electronic device used inconjunction with an external battery charger. FIG. 7B is a diagramdepicting device 300 in use with external computer accessories, forexample, when the user arrives at a home or business office and wishesto use more conventional I/O devices. In this environment, device 300includes universal serial bus (USB) interface as external I/O interface323. Docking strip 601 serves to interface between external I/O modulesand device 300. As shown in FIG. 7B, docking strip 601 includes amulti-port USB hub 602 which communicates via USB cable 610 with device300. Multi-port USB hub 602 in turn interfaces to various external I/Ointerfaces, shown in this example as (a) USB interface 603, which isconnected to, for example CD ROM drive 631, (b) PS/2 interface 604,which is connected to, for example keyboard 632, (c) PS/2 interface 605,which is connected to, in this example, mouse 633, and (d) VGA interface606 which, in this embodiment, is connected to external CRT or LCD videodisplay 634.

In this fashion, the simple, low power device 300 is able to be easily,and inexpensively, connected to a wide variety of external, and moreconventional I/O devices, some examples of which are shown in theembodiment of FIG. 7B. In one embodiment, docking strip 601 receiveswhat little power requirements it has, via USB cable 610 from device300. In this embodiment, certain external I/O devices such as CD ROMdrive 631 and display 634 receive their power from the AC supply,thereby not adding to the power requirements which must be met by device300.

FIG. 7C is a diagram depicting device 300 in use with another computersystem so that, for example, the other computer system is able to accessthe memory and data storage elements of device 300. This is useful, forexample, when a traveler returns to a fixed location, such as home orwork office, hotel room, and so forth, and desires to utilize a standardcomputer system (which might include a network connection) to access thedata within device 300. Conveniently, during this operation, battery 301of device 300 can be recharged.

Referring back to FIG. 7A, appliance interface unit 700 serves tointerface between a conventional computer, for example via USB cable713, and device 300. In one embodiment, device 300 includes a connector701, which serves to mate with connector 702 of appliance interface unit700. Appliance interface unit 700 also includes power supply 710 andbattery charger 711 (which in one embodiment are convenientlyconstructed as a single module), which receives power from an externalpower source and provides power, via connector 702 to connector 701 inorder to charge battery 301 within device 300. This battery charging isconveniently performed while the external computer system is accessingthe memory and storage device (such as hard disk drive 325) withindevice 300.

In one embodiment of the invention, device 300 can act as an externalhard disk to an existing PC by communicating to the PC via a UniversalSerial Bus (USB). Physically, the connectivity can be accomplished inone of two ways as follows, and is also shown in FIG. 7C.

1. Proprietary cable: The proprietary connector on device 300 isconnected to a Type B USB connector on the PC. The proprietary connectorcircuitry 721 is designed to emulate a Type A USB connector. To the PC,device 300 is an external USB hard disk.

2. Port Replicator Connection: The proprietary connector 725 isconnected to the Port Replicator 726. The USB Type B connector 727 isattached, via a standard USB cable to the USB Type A 728 connector onthe PC. To the PC, the device 300 is an external USB hard disk.

FIG. 7D shows an overview of the USB, identifying different layers ofthe connectivity between the device 300 and a PC.

USB Physical Device: Device 300 is viewed by the PC as a piece ofhardware. In this example, the Host PC 739 sees device 300 as anexternal hard disk.

Client Software 730: This is a piece of software that executes on thehost PC, corresponding to a USB device, in this example device 300. Thissoftware is provided along with device 300 to be loaded by the end-useronto the Microsoft Windows ME, XP or 2000 Operating System.

USB System Software 731: This is the software that supports the USB in aparticular operating system. This software is provided by Microsoft intheir ME, XP and 2000 operating systems. The software supplied in theoperating system, is independent of particular USB devices or clientsoftware.

USB Host Controller 732 (Host Side Bus Interface): The hardware andsoftware that allows USB devices to be attached to a host PC.

As shown in FIG. 7D, the connection of a host PC to a device requiresinteraction between a number of layers and entities. The USB BusInterface Layer 738 provides physical/signaling/packet connectivitybetween the host PC 739 and device 300. The USB Device Layer 737 is theview the USB System Software 731 has for performing generic USBoperations with a device, in this example, device 300. The FunctionLayer 736 within the device 300 provides additional capabilities to thehost PC 739 via appropriately matched Client Software 730 that resideson the host PC 739. In this example, the Client Software 730 on the hostPC 739 is matching to an external hard disk. The USB Device 737 andFunction Layers 736 each have a view of logical communication withintheir respective layers that actually uses the USB Bus Interface Layer738 to accomplish data transfer.

There are shared rights and responsibilities between the four USB systemcomponents. Since this is a standard Universal Serial Bus, device 300conforms to the standard in order to communicate to any USB enabled PCas an external USB hard disk by providing the Client Software 730 to thehost PC 739, and within device 300 itself provides for the FunctionLayer 736. In this manner, the USB enabled PC knows that when physicallyconnected via the methods described above, device 300 is viewed as anexternal hard disk.

In order for device 300 to function as an external hard disk, thePentium Class circuitry needs to be turned “ON.” This can beaccomplished by the User booting the Windows XP operating system on thedevice 300 either before or after connecting the device 300 to the hostUSB enabled PC.

2. Docking Station

FIG. 8A is a block diagram showing one embodiment of a docking station800 for use with device 300. Various elements contained within device300 are shown, which have particularly relevance to interconnection withdocking station 800. Also shown within device 300 is a network port (forexample, Ethernet port) serving as external 110 interface 323. Dockingstation 800 includes connector 802 for connection to device 300 via itsconnector 701. In one embodiment, docking station 800 includes powersupply 810 and battery charger 811, which in one embodiment arefabricated as a single module and which receive power from an externalsource in order to supply docking station 800, as well as providebattery charging current to device 300.

Docking station 800 includes, for example, an external CRT or LCDdisplay 834 and USB hub 803 for connection with device 300 controllerand I/O module 322. USB hub 803 connects to docking station I/0 module822 and other USB devices, if desired. Alternatively, I/O module 822 ofdocking station 800 is connected to device 300 via LPC bus 862 as analternative interface. Other types of interfaces can be used as well.I/O module 822 serves to communicate with device 300 and various I/Omodules shown, by way of example, as infrared I/O module 843, printer842, keyboard 832, mouse 833, CD ROM drive 831, and floppy drive 841.Any other desired I/O modules can, of course, be used in a similarfashion.

In the embodiment shown, external I/O module 323 of device 300 is anetwork port, for example an Ethernet port. This network port is coupledvia connectors 701 and 802 to network connection 851, allowing device300 to be connected to a network. In the embodiment shown in FIG. 8,device 300 includes modem 324 which is connected to a telephone line 852by a connection through connectors 701 and 802. In the embodiment shownin FIG. 8, docking station 800 includes its own CODEC 853, as well asone or more microphones and one or more speakers, allowing the audioinput-output to be performed with elements of docking station 800,rather than integral elements of device 300.

In one embodiment, when device 300 is docked with docking station 800,display controller 308 automatically turns off display 307 and uses thedocking station monitor 834. Display controller 308 automaticallyprovides display signals to docking station monitor 834 to provide afull SVGA display of 800×600. If desired, docking station monitor 834 iscustom configurable through the use of display controller 308 to set thedocking station monitor 834 at higher resolutions.

In one embodiment, when device 300 is docked within docking station 800,telephone module 390 is able to be used concurrently with the landlinebased telephone connection 852, allowing, for example, a voice telephonecall to be made concurrently with a modem connection, and two concurrent(and/or conjoined) telephone connections.

In another embodiment, FIG. 8B, shows when device 300 is docked withdocking station 800, display controller 308 automatically turns offdisplay 307 and uses the docking station monitor 834. Display controller308 automatically provides display signals to docking station monitor834 to provide a full SVGA display of 800×600. This embodiment shows allthe peripheral attachments connected via a USB hub 802 and device 300being cooled by a 400 fpm fan 850 used as part of Device 800, thedocking shell.

In the disclosed embodiments, the device can include a terminalconfigured to receive a docked signal from a docking station, e.g. bythe docking strip. In one aspect, when the device is docked, theembedded processor and non-embedded processor are configured to freelyoperate simultaneously in response to the docked signal. In anotheraspect, when the device is docked, the embedded processor increases thenon-embedded processor clock rate in response to the docked signal.These increases in processor usage can cause an increase in the heatcreated by the device. Consequently, one aspect of the docking stationincluding a fan is to turn on the fan in response to the device 300being docked.

3. LAN Communications

FIG. 9 is a block diagram depicting a typical local area network (LAN),including one or more personal electronic devices of the presentinvention, which are connected to the network either directly, or vianetwork drivers contained within the personal electronic device, anetwork connection contained in docking strip 601, or the networkconnection provided by docking station 800 of FIG. 8.

FIG. 10 is a diagram of a home network, where there are severaldifferent network connectivity examples, such as a wireless 802.11 LAN,a standard Ethernet LAN and a home phone network alliance (PNA) allintegrated into one solution for one home network.

E. Common Application Protocol

FIGS. 11 and 12 provide common application protocol (CAP) diagrams whichconstitute flow charts showing the successive steps in a methodconstituting this invention when this method is used in or with thesystem shown in FIGS. 1-10. FIG. 13 schematically shows hardwareincluding this invention when the hardware is included in the systemshown in FIGS. 1-12.

FIG. 11 shows a common application protocol (CAP) initialization andtable association update for introducing protocols to the non-embeddedprocessor 320, processing the protocols and introducing the processedprotocols to the embedded processor 302. The start of the process isindicated at 1000 in FIG. 1 1. As a first step, a non-embedded processorsuch as the non-embedded Windows XP processor 320 initializes thecommunication protocols and makes the processor ready for accepting andreceiving data. This is indicated at 1002 in FIG. 11.

The non-embedded (e.g., Windows XP) processor 320 then makes a list ofnew extension form registry as indicated at 1004 in FIG. 11. Theseextensions are for associating the extensions with file types, forexample.doc may be associated with Microsoft Word files. The extensionform registry provides a new application protocol, which is defined by aseries of programs or modifiers it provides extensions or modificationsof an application protocol. If the extension form registry does notexist so that the application protocol is new, the non-embeddedprocessor 320 writes the entire contents of the file into a newextension form registry. If the extension form registry does exist, thenon-embedded processor 320 writes the difference between the newextension form registry and the existing extension form registry and thenew settings for the extension form registry. This is indicated at 1006in FIG. 11.

The non-embedded processor 320 then sends the extension form registryfile to the embedded (e.g., Windows CE) processor 302 (see 1008). Theembedded processor 302 receives the extension form registry file. If theextension form registry file already exists at the embedded processor302, the embedded processor 302 removes the existing file and replacesit with the file which the processor has just received. This isindicated at 1010 in FIG. 11.

The embedded processor 302 then parses the file and makes a list ofextensions to add and a list of extensions to remove (see 1012 in FIG. 11). The embedded processor subsequently registers the new extensions andresolves the old extensions if these extensions are no longer supported(as indicated at 1014 in FIG. 1 1). The flow chart in FIG. 11 is endedat 1016.

FIG. 12 is a flow chart indicating the successive steps which areperformed when the non-embedded processor 320 is to perform theprotocols of the extension form registry recorded in the embeddedprocessor 302 in accordance with the steps shown in FIG. 11 anddescribed above. The start of the successive steps is indicated at 1017.

The user of the embedded processor 302 initially clicks in a file in theprocessor file system or an email attachment as indicated at 1013. Theembedded processor 302 then sends to the non-embedded processor 320 theinformation in the file and the data relating to the file (see 1020).The non-embedded processor receives the file information and the newfile data and saves the physical file. The non-embedded processor 320then launches (1024) the file with the appropriate extension formregistry application. This is the end 1026 of the steps shown in FIG.12.

FIG. 13 shows the hardware, generally indicated at 1030, for providingthe method steps shown in FIGS. 11 and 12. The hardware 1030 includesthe embedded processor 302, the non-embedded processor 320 andintegrated controllers 1032. A universal serial bus 1034 extends betweenthe processor 302 and the integrated controllers 1032.

A bus 1036 is connected between the embedded processor 302 and aread-only memory 1038 for the embedded processor operating system. Sincethe processor 302 is embedded, the read-only memory for the processorprovides a permanent record of the programs to be operated by theprocessor. A read-only memory common application protocol (ROMCAP) 1040is also provided for the embedded processor 302. As previouslydescribed, the common application protocol 1040 provides information tothe embedded processor 302 in accordance with the steps in the flowchart shown in FIG. 11 and described above. This is represented by anarrow 1042. A bus 1044 extends between the ROMCAP 1040 and an embeddedrandom access memory (RAM) 1045. The embedded RAM 1045 contains the newembedded extension form registry.

A bus 1046 extends between the non-embedded processor 320 and a hub forthe graphic memory controller 321 shown in FIGS. 3B-C. As indicatedabove, the non-embedded processor 320 provides display information tothe display 307 in FIGS. 3B-C by way of the memory and graphicscontroller 321. As also indicated above and as shown in FIGS. 3B-C, theembedded processor 302 and the non-embedded processor 320 may access thememory and storage module 385 via memory and graphics controller 321.

A bus 1047 extends between the graphic memory and controller hub 321 anda random access memory (RAM) 1049. The RAM 1049 provides volatile datawhich is erased when the non-embedded processor 320 is put to sleep. Abus 1048 also extends between the graphics memory and controller hub 321and the integrated controller hub 1032. The integrated controller hub1032 may include several different controller hubs including the displaycontroller 308 and the controller and I/O module 322 and a controller1050 for a hard disk drive. A bus 1054 extends between the graphicsmemory and controller hub 321 and an SGB 1054.

F. Conclusion

All publications and patent applications mentioned in this specificationare herein incorporated by reference to the same extent as if eachindividual publication or patent application was specifically andindividually indicated to be incorporated by reference. The inventionhaving been fully described and including the best mode known to theinventors, it will be apparent to one of ordinary skill in the art thatmany changes and modifications can be made thereto while remainingwithin the spirit or scope of the appended claims.

1. In a combination for processing information in a hand-held device, afirst system processor for performing functions of relatively lowcomplexity, the first system processor including a first core having avariable speed, a second system processor for performing functions ofgreater complexity than the first system processor, the second systemprocessor including a second core having a variable speed, the firstsystem processor controlling the operation of the second systemprocessor independently of the operation of the second system processor,in performing the functions of greater complexity, a temperature sensorfor determining the temperature of the first and second systemprocessors, and regulating apparatus responsive to the temperature fromthe temperature sensor for adjusting the speed of the cores in adirection to reduce the temperature of the cores when the temperatureindicated by the temperature sensor is above a particular value.